For a flash memory, due to its characteristic, when intending to rewrite data, it is not impossible for the data which was originally stored in the physical area to be overwritten directly on the physical area. For rewriting data, after performing data erase processing in erase units of flash memories named “blocks”, data must be rewritten. The number of times of performing the erase processing for these blocks has the upper limit due to the physical limitation. A flash memory block has the characteristic that, if the erase count exceeds this upper limit, no more data can be stored in the block.
For this reason, if the method of fixedly allocating a data storage address to each flash memory block is applied, the erase count of a block in which part of frequently erased data is stored increases, which causes the block to be unavailable in the course of time.
As a technology for preventing such cases, the technology named wear-leveling, as shown in the PLT 1, is published. According to the basic concept of wear-leveling, besides a physical address for a physical block (physical block), a logical address for a logical block (logical block) is prepared, and the logical address corresponding with the physical address is changed appropriately.
Furthermore, a technology, as shown in the PLT 2, in which the area of a physical block is divided into two and one of the divided areas is used as an area for storing update data is also well-known. According to the PLT 2, data is written to the first area of the two areas provided in one block and, if data stored in the first area is to be overwritten, the overwritten data (update data) is additionally written to the second area. As the erase processing occurs when the second area becomes full and impossible to accept further additional write, the occurrence of overwrite (update write) for the physical block does not necessarily mean that the physical block requires the erase processing. Therefore, the number of times of the erase processing for the physical block (the erase count of the physical block) can be inhibited.